Составьте backup скрипты для сохранения конфигурации сетевых устройств

Выполнение:

HQ-R | BR-R:

  • Создадим простой bash-скрипт:

vim backup-script.sh
  • Назначаем права на исполнения для данного файла:

chmod +x backup-script.sh

где:

  • #!/bin/bash: Эта строка - это шебанг (shebang), она указывает на то, какую оболочку следует использовать для выполнения скрипта. В данном случае, скрипт выполняется с использованием оболочки Bash.

  • echo "Start backup!": Эта команда выводит текст "Start backup!" в стандартный вывод (обычно в терминал)

  • backup_dir="/etc": Эта строка определяет переменную backup_dir и устанавливает ей значение "/etc". Эта переменная будет использоваться для указания каталога, который будет архивироваться.

    • в случае если необходимо указать несколько директорий для резервного копирования они указываются в "кавычках" через пробел, например backup_dir="/etc /var /home"

  • dest_dir="/opt/backup": Здесь определяется переменная dest_dir и устанавливается значение "/opt/backup". Эта переменная будет использоваться для указания каталога, в который будет сохранен архив.

  • mkdir -p $dest_dir: Эта команда создает каталог, указанный в переменной dest_dir с опцией -p, которая позволяет создать каталог, а также все родительские каталоги, если они не существуют.

  • tar -czf $dest_dir/$(hostname -s)-$(date +"%d.%m.%y").tgz $backup_dir: Эта команда использует tar для создания архива файлов из каталога, указанного в переменной backup_dir. Архив сохраняется в каталоге, указанном в переменной dest_dir, с именем, которое включает имя хоста (hostname), текущую дату и расширение ".tgz". Опции -czf указывают на то, что архив должен быть сжат в формате gzip.

  • echo "Done!": Эта команда выводит текст "Done!" в стандартный вывод после завершения создания архива.

Выполняем запуск скрипта:

./backup-script.sh
  • Просмотрим содержание архива:

tar -tf /opt/backup/hq-r-06.01.24.tgz | less
  • таким образом, скрипт записал в архив всё содерджиимое директории /etc

  • также есть возможность архивировать не одну, а несколько директорий с целью резевного копирования, необходимо всеголишь в переменную backup_dir скрипта передать необходимые директории через пробел, например:

    • backup_dir="/etc /var /home"

  • Аналогичный скрипт запускаем и на BR-R

    • для ускорения процесса, передать скрипт с HQ-R на BR-R или наоборот можно по scp